package loader.facades 
{
	import loader.ILoader;
	import loader.ILoaderController;
	import loader.ILoaderModel;
	import loader.ILoaderView;
	/**
	 * ...
	 * @author Luke Van In
	 */
	public class LoaderFacade implements ILoader 
	{
		
		private var _model:ILoaderModel;
		
		private var _view:ILoaderView;
		
		private var _controller:ILoaderController;
		
		
		
		public function LoaderFacade(model:ILoaderModel, view:ILoaderView, controller:ILoaderController) 
		{
			this._model = model;
			
			this._view = view;
			
			this._controller = controller;
		}
		
		
		/**
		 * 
		 */
		public function show():void 
		{
			this._controller.show();
		}
		
		
		/**
		 * 
		 */
		public function hide():void 
		{
			this._controller.hide();
		}
		
		
		/**
		 * 
		 * @param	progress
		 */
		public function setProgress(progress:Number):void 
		{
			this._controller.setProgress(progress);
		}
		
		
		
		/**
		 * 
		 */
		public function dispose():void
		{
			this._controller.dispose();
			
			this._view.dispose();
			
			this._model.dispose();
		}
		
	}

}